<?php
/**
 * Controller is the customized base controller class.
 * All controller classes for this application should extend from this base class.
 */
class Controller extends CController
{
	/**
	 * @var string the default layout for the controller view. Defaults to '//layouts/column1',
	 * meaning using a single column layout. See 'protected/views/layouts/column1.php'.
	 */
	public $layout='main';
	/**
	 * @var array context menu items. This property will be assigned to {@link CMenu::items}.
	 */
	public $menu=array();
	/**
	 * @var array the breadcrumbs of the current page. The value of this property will
	 * be assigned to {@link CBreadcrumbs::links}. Please refer to {@link CBreadcrumbs::links}
	 * for more details on how to specify this property.
	 */
	public $breadcrumbs=array();
	
	public function init(){
		parent::init();
		
		/* Get & Set request language */
		$language = str_replace( '-', '_', substr( $_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 5 ) );
		Yii::app()->language = $language;
	}
	
	public function beforeAction( $action ){
		/* Sets token for every request if exists */
		if( array_key_exists( 'HTTP_X_SESSION_TOKEN', $_SERVER ) && $_SERVER['HTTP_X_SESSION_TOKEN'] != '' )
			$_GET['loginToken'] = $_SERVER['HTTP_X_SESSION_TOKEN'];
		
		return parent::beforeAction( $action );
	}
	
	public function renderJSON( $data ){
		header('Content-type: application/json');
		
		$this->layout = false;
		echo CJavaScript::jsonEncode( $data );
		Yii::app()->end();
	}
}